<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8" />
    
  <meta name="description" content="love it" />
  
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
  <title>
    归档: 2019/3 |  loveits
  </title>
  <meta name="generator" content="hexo-theme-yilia-plus">
  
  <link rel="shortcut icon" href="/favicon.ico" />
  
	  
  
<link rel="stylesheet" href="/css/main.css">

  
<link rel="stylesheet" href="/css/obsidian.css">

  
  <script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script>
  
  
  
<link rel="stylesheet" href="//cdn.bootcss.com/codemirror/5.48.4/codemirror.min.css">

  
<link rel="stylesheet" href="//cdn.bootcss.com/codemirror/5.48.4/theme/dracula.css">

  
<link rel="stylesheet" href="//cdn.datatables.net/1.10.15/css/jquery.dataTables.css">

  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css" />
  

  

</head>

</html>

<body>
  <div id="app">
  <main class="content">
  <section class="outer">
  <article class="articles">
	  
	  
	  
    
    
		<h1 class="page-type-title">2019/3</h1>
    
	
	<div id="postEcharts" style="width:100%;height:200px"></div>
	
    
	  
	  
	  
	  
		  
		  
		  
  <div class="archives-wrap">
    <div class="archive-year-wrap">
      <a href="/archives/2019" class="archive-year">2019</a>
    </div>
    <div class="archives">
      
      <article class="archive-article archive-type-post">
  <div class="archive-article-inner">
    <header class="archive-article-header">
      <a href="/p/78d8ffd6.html" class="archive-article-date">
  <time datetime="2019-03-11T06:07:53.000Z" itemprop="datePublished">03/11</time>
</a>
       
<h2 itemprop="name">
  <a class="archive-article-title" href="/p/78d8ffd6.html"
    >大前端	  </a
  >
</h2>
  

    </header>
    
    
  </div>
</article>
      
      
    </div>
  </div>
  
  
  
</section>

<script crossorigin="anonymous" integrity="sha384-grSbRFJ7wnaD/ZEWv79klTjkCgkTTfcw39pNmwgXlBB7zVm/oNqih+PZ6qblVvao" src="https://lib.baomitu.com/echarts/4.6.0/echarts-en.min.js"></script>
<script>

let myChart = echarts.init(document.getElementById('postEcharts'));
let option = {
    "tooltip": {
        "padding": 10,
        "backgroundColor": "#555",
        "borderColor": "#777",
        "borderWidth": 1,
		formatter: function(data){
			return data.marker + data.value[0] + " : " + data.value[1] + " 篇"
		}
    },
    "visualMap": {
      "show": true,
      "showLabel": true,
      "calculable": true,
      "min":"0",
      "max":"5",
      "inRange": {
        "symbol": "rect",
        "color": ["#f5f5f5", "#c6e48b", "#7bc96f", "#239a3b", "#196127"]
      },
      "itemWidth": 12,
      "itemHeight": 100,
      "orient": "horizontal",
      "right": 100,
      "bottom": 20,
      "align": 'top'
    },
    "calendar": [{
        "left": "center",
		"top":"middle",
        "range": ["2019-03-01","2019-03-31"],
        "cellSize": [13, 13],
        "splitLine": {
            "show": true
        },
        "itemStyle": {
            "color": "#fff",
            "borderColor": "#fff",
            "borderWidth": 1
        },
        "yearLabel": {
            "show": false
        },
        "monthLabel": {
            "nameMap": "cn",
            "fontSize": 11
        },
        "dayLabel": {
            "formatter": "{start}  1st",
            "nameMap": "cn",
            "fontSize": 11
        }
    }],
    "series": [{
        "type": "heatmap",
        "coordinateSystem": "calendar",
        "calendarIndex": 0,
        "data": [["2019-03-01", 0], ["2019-03-02", 0], ["2019-03-03", 0], ["2019-03-04", 0], ["2019-03-05", 0], ["2019-03-06", 0], ["2019-03-07", 0], ["2019-03-08", 0], ["2019-03-09", 0], ["2019-03-10", 0], ["2019-03-11", 1], ["2019-03-12", 0], ["2019-03-13", 0], ["2019-03-14", 0], ["2019-03-15", 0], ["2019-03-16", 0], ["2019-03-17", 0], ["2019-03-18", 0], ["2019-03-19", 0], ["2019-03-20", 0], ["2019-03-21", 0], ["2019-03-22", 0], ["2019-03-23", 0], ["2019-03-24", 0], ["2019-03-25", 0], ["2019-03-26", 0], ["2019-03-27", 0], ["2019-03-28", 0], ["2019-03-29", 0], ["2019-03-30", 0], ["2019-03-31", 0]]
    }]
}
myChart.setOption(option);
myChart.on('click', function (param) {
	let  v = param.value[0].split("-");
	if(param.value[1]>0) window.location.href = "/archives/"+v[0]+"/"+v[1]+"/"; 
});

</script>
  <footer class="footer">
  <div class="outer">
    <ul class="list-inline">
      <li>
        <!-- loveits blog α -->
        &copy;
        2020
        loyalvi α
      </li>
	  <li>
	    
	    Powered by
	    
	    
	    <a href="https://hexo.io" target="_blank">Hexo</a> Theme <a href="https://github.com/Shen-Yu/hexo-theme-ayer" target="_blank">Ayer</a>
	    
	  </li>
      <!-- <li>
        联系方式（TODO）
      </li> -->
    </ul>
    <ul class="list-inline">
      <li>
        
      </li>
	  
	  
	  <li>
	    <a href="http://www.beian.miit.gov.cn/" target="_black">苏ICP备20008261号-1</a>
	  </li>
	  
	  
      <li>
        <!-- cnzz统计 -->
        
      </li>
	  
    </ul>
  </div>
</footer>
  <div class="to_top">
  <div class="totop" id="totop">
  <i class="ri-arrow-up-line"></i>
</div>
  </div>
  </main>
  <aside class="sidebar">
  <button class="navbar-toggle"></button>
<nav class="navbar">
  
  <div class="logo">
    <a href="/"><img src="/images/logo-white.png" alt="loveits"></a>
  </div>
  
  <ul class="nav nav-main">
    
    <li class="nav-item">
      <a class="nav-item-link" href="/archives">归档</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/categories">分类</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/tags">标签</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/categories/%E8%AE%A1%E5%88%92/">计划</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/categories/%E5%AD%97%E5%85%B8/">字典</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/todo">待办</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/p/9ff79b23.html">我</a>
    </li>
    
  </ul>
</nav>
<nav class="navbar navbar-bottom">
  <ul class="nav">
    <li class="nav-item">
      
      <a class="nav-item-link nav-item-search"  title="搜索">
        <i class="ri-search-line"></i>
      </a>
      
      
    </li>
  </ul>
</nav>
<div class="search-form-wrap">
  <div class="local-search local-search-plugin">
  <input type="search" id="local-search-input" class="local-search-input" placeholder="Search...">
  <div id="local-search-result" class="local-search-result"></div>
</div>
</div> 
  </aside>
  <div id="mask"></div>

<!-- #reward -->
<div id="reward">
  <span class="close"><i class="ri-close-line"></i></span>
  <p class="reward-p"><i class="ri-cup-line"></i>请我喝杯咖啡吧~</p>
  <div class="reward-box">
    
    <div class="reward-item">
      <img class="reward-img" src="/images/alipay.jpg">
      <span class="reward-type">支付宝</span>
    </div>
    
    
    <div class="reward-item">
      <img class="reward-img" src="/images/wechat.jpg">
      <span class="reward-type">微信</span>
    </div>
    
  </div>
</div>
  
  
<script src="/js/jquery-2.0.3.min.js"></script>


<script src="/js/share.js"></script>


<script src="/js/lazyload.min.js"></script>


<script src="/js/jquery.nicescroll.min.js"></script>

<script type="text/javascript" charset="utf8" src="http://cdn.datatables.net/1.10.15/js/jquery.dataTables.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js"></script>

<script>
  try {
    var typed = new Typed("#subtitle", {
      strings: ['loveits blog', '中意他的博客', ''],
      startDelay: 0,
      typeSpeed: 100,
      loop: true,
      backSpeed: 100,
      showCursor: true
    });

  } catch (err) {
  }

</script>

<script>
//var nice = $("main").niceScroll();
	$('table').DataTable({
		"language": {
			"lengthMenu": "每页 _MENU_ 条记录",
			"zeroRecords": "没有找到记录",
			"info": "",
			"infoEmpty": "无记录",
			"infoFiltered": "(从 _MAX_ 条记录过滤)",
			"search":"搜索:"
		},
		"paging": false,
		searching: false,
		"columnDefs" : [ 
			{
			targets: [0],
			render: function(data, type, row, meta) {
				return  (meta.row + 1);
			}
			}],
        "order": [[4, 'asc']]	
	});			
</script>





<script src="https://cdn.bootcss.com/codemirror/5.48.4/codemirror.min.js"></script>

    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/javascript/javascript.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/css/css.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/xml/xml.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/shell/shell.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/python/python.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/htmlmixed/htmlmixed.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/htmlembedded/htmlembedded.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/clike/clike.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/php/php.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/powershell/powershell.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/yaml/yaml.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/addon/mode/multiplex.min.js"></script>



<script src="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.css">
<script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/js/jquery.justifiedGallery.min.js"></script>

<script src="/js/ayer.js"></script>



<!-- Root element of PhotoSwipe. Must have class pswp. -->
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">

    <!-- Background of PhotoSwipe. 
         It's a separate element as animating opacity is faster than rgba(). -->
    <div class="pswp__bg"></div>

    <!-- Slides wrapper with overflow:hidden. -->
    <div class="pswp__scroll-wrap">

        <!-- Container that holds slides. 
            PhotoSwipe keeps only 3 of them in the DOM to save memory.
            Don't modify these 3 pswp__item elements, data is added later on. -->
        <div class="pswp__container">
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
        </div>

        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
        <div class="pswp__ui pswp__ui--hidden">

            <div class="pswp__top-bar">

                <!--  Controls are self-explanatory. Order can be changed. -->

                <div class="pswp__counter"></div>

                <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>

                <button class="pswp__button pswp__button--share" style="display:none" title="Share"></button>

                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>

                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>

                <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
                <!-- element will get class pswp__preloader--active when preloader is running -->
                <div class="pswp__preloader">
                    <div class="pswp__preloader__icn">
                        <div class="pswp__preloader__cut">
                            <div class="pswp__preloader__donut"></div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
                <div class="pswp__share-tooltip"></div>
            </div>

            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
            </button>

            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
            </button>

            <div class="pswp__caption">
                <div class="pswp__caption__center"></div>
            </div>

        </div>

    </div>

</div>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.min.css">
<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe-ui-default.min.js"></script>

<script>
    function viewer_init() {
        let pswpElement = document.querySelectorAll('.pswp')[0];
        let $imgArr = document.querySelectorAll(('.article-entry img:not(.reward-img)'))

        $imgArr.forEach(($em, i) => {
            $em.onclick = () => {
                // slider展开状态
                // todo: 这样不好，后面改成状态
                if (document.querySelector('.left-col.show')) return
                let items = []
                $imgArr.forEach(($em2, i2) => {
                    let img = $em2.getAttribute('data-idx', i2)
                    let src = $em2.getAttribute('data-target') || $em2.getAttribute('src')
                    let title = $em2.getAttribute('alt')
                    // 获得原图尺寸
                    const image = new Image()
                    image.src = src
                    items.push({
                        src: src,
                        w: image.width || $em2.width,
                        h: image.height || $em2.height,
                        title: title
                    })
                })
                var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, {
                    index: parseInt(i)
                });
                gallery.init()
            }
        })
    }
    viewer_init()
</script>




<script type="text/javascript" src="https://js.users.51.la/20544303.js"></script>
	
  
  </div>
</body>

</html>